The present disclosure relates generally to optimizing application workflows, and more specifically, to the optimization of application workflows in an environment of mobile embedded devices.
Embedded systems utilize application workflows to operate, and a typical application workflow executed by an embedded system includes diverse application segments. Some segments of these workflows are more critical than other segments in terms of computational accuracy, speed, and reliability requirements. A key challenge in designing such application workflows is determining optimal or near-optimal voltage-frequency control setting (or other power setting) assignments to a processor of an embedded system across each application segment, such that the accuracy, speed, and reliability requirements are met.
For example, an unmanned aerial vehicle (UAV) is an embedded system that utilizes application workflows to control flight operations and mission-critical engagements. Because the processor of the UAV demands high performance (with real-time performance constraints) at low power and high reliability for flight operations and mission-critical engagements, designing application workflows includes determining optimal or near-optimal assignments of voltage-frequency control settings (or other power settings) for the processor of the UAV across each application segment to meet these low power and high reliability requirements.
A contemporary approach is to distribute application workflow computations to a cloud-based system. The distribution of application workflow computations attempts to balance the real-time processing needs of the workflow against the low power requirements of the embedded system. Yet, with the distribution of application workflow computations, the embedded systems lose the benefits of localized processing and can suffer from communication inadequacies between the cloud-based system and the embedded system. Additionally, the balance can be skewed by energy costs with respect to communication protocols.